package com.feifei.springcloud.controler;

import com.feifei.springcloud.pojo.Dept;
import com.feifei.springcloud.service.DeptService;
import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.management.RuntimeErrorException;
import java.util.List;

@RestController
public class DeptController
{
    @Autowired
    private DeptService deptService;



    @GetMapping("/dept/get/{id}")
    @HystrixCommand(fallbackMethod = "hystrixGetDept")
    public Dept getDept(@PathVariable("id") Long id){
        Dept dept = this.deptService.queryById(id);
        if(dept == null){
            throw new RuntimeException("没有对应的id数据");
        }
        return dept;
    }
    //备选方法
    public Dept hystrixGetDept(@PathVariable("id") Long id){
        return new Dept().setDeptno(id)
                .setDname("Hystrix--》没有对应的id数据").setDb_source("no this database in MySQL");
    }



}
